package AVLTree;


/**
 * @author Waseem
 * @version 1.0
 * @param <T>
 */
public class Node<T> {

	/**
	 * 
	 */
	private Node<T> left, right;

	/**
	 * 
	 */
	private T data;

	/**
	 * 
	 */
	private int height, bf;
	
	/**
	 * @param data
	 */
	public Node(T data){
		this.data = data;
	}
	
	/**
	 * @return
	 */
	public Node<T> getLeft(){
		return left;
	}
	
	/**
	 * @return
	 */
	public Node<T> getRight(){
		return right;
	}
	
	/**
	 * @param left
	 */
	public void setLeft(Node<T> left){
		this.left = left;
	}
	
	/**
	 * @param right
	 */
	public void setRight(Node<T> right){
		this.right = right;
	}
	
	/**
	 * @param data
	 */
	public void setData(T data){
		this.data = data;
	}
	
	/**
	 * @return
	 */
	public T getData(){
		return data;
	}
	
	/**
	 * @param height
	 */
	public void setHeight(int height){
		this.height = height;
	}
	
	/**
	 * @param bf
	 */
	public void setBf(int bf){
		this.bf = bf;
	}
	
	/**
	 * @return
	 */
	public int getHeight(){
		return height;
	}
	
	/**
	 * @return
	 */
	public int getBf(){
		return bf;
	}
	
	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	public String toString(){
		return super.toString();
	}
}
